package com.supermarket.product.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.supermarket.common.core.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class ProductGoodsDto {


    /** 商品id */
    @Excel(name = "商品id")
    private Long id;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private Long typeId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品品牌 */
    @Excel(name = "商品品牌")

    private Long brandId;

    /** 商品介绍 */
    @Excel(name = "商品介绍")
    private String introduce;

    /** 商品货号 */
    @Excel(name = "商品货号")
    private String article;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String measuring;

    /** 商品重量 */
    private Long weight;
    private String imgUrl;
    /** 排序 */
    @Excel(name = "排序")
    private Long sortOrder;

    /** 赠送积分 */
    private Long integral;

    /** 赠送成长值 */
    private Long growth;

    /** 积分购买限制 */
    private Long astrict;

    /** 是否预告商品 1是 2否 */
    private Long foreshow;

    /** 是否新品1是 2否 */
    private Long newGoods;

    /** 是否推荐1是 2否 */
    private Long recommend;

    /** 服务保证 1无忧退货2快速退货3免费包邮 */
    private Long serve;

    /** 详细页标题 */
    private String title;

    /** 详细页描述 */
    private String described;

    /** 商品关键字 */
    private String keyword;

    /** 商品备注 */
    private String description;

    /** 选择优惠方式1 无优惠2特惠促销3会员价格4阶梯价格5满减价格 */
    private Long discountsType;

    /** 属性选择 */
    private Long attributeId;

    /** 电脑端详情 */
    private String particularsComputer;

    /** 移动端详情 */
    private String particularsPhone;
    private Integer checkState;

    /** 标签1上架2新品3推荐 */
    private Long label;

    /** 商品价格 */
    private BigDecimal price;

    /** 审核状态1待审核2通过3驳回 */
    @Excel(name = "审核状态1待审核2通过3驳回")
    private Long checkStatus;

    /** 售卖状态1上架中2已下架3违规下架 */
    @Excel(name = "售卖状态1上架中2已下架3违规下架")
    private Long rackingStatus;

    @Excel(name = "品牌名称")
    private String brandName;

    @Excel(name = "类型名称")
    private String typeName;
    /**
     * 库存数量
     */
    private Integer inventory;

    /**
     * 商品标签
     */
    private String tagName;
    /**
     * 商品属性
     */
    private String attributeName;
    /**
     * 参数值
     */
    private String attributeValue;
    /**
     * 总销售量
     * @return
     */
    private Integer totalSales;

    /**
     * 下架时间
     * @return
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date listedTime;
    private Integer categoriesId;

}
